package com.ktgj.flight.service;

import java.util.List;
import com.ktgj.flight.domain.FinanceConsignPymtRecord;
import com.ktgj.flight.domain.vo.*;

import javax.servlet.http.HttpServletRequest;

/**
 * 财务机票代收款记录Service接口
 * 
 * @author ruoyi
 * @date 2022-06-13
 */
public interface IFinanceConsignPymtRecordService 
{
    /**
     * 查询财务机票代收款记录
     * 
     * @param consignPymtRecordId 财务机票代收款记录ID
     * @return 财务机票代收款记录
     */
    public FinanceConsignPymtRecord selectFinanceConsignPymtRecordById(Long consignPymtRecordId);

    /**
     * 查询财务机票代收款记录列表
     * 
     * @param financeConsignPymtRecord 财务机票代收款记录
     * @return 财务机票代收款记录集合
     */
    public List<FinanceConsignPymtRecord> selectFinanceConsignPymtRecordList(FinanceConsignPymtRecord financeConsignPymtRecord);

    /**
     * 新增财务机票代收款记录
     * 
     * @param financeConsignPymtRecord 财务机票代收款记录
     * @return 结果
     */
    public int insertFinanceConsignPymtRecord(FinanceConsignPymtRecord financeConsignPymtRecord);

    /**
     * 修改财务机票代收款记录
     * 
     * @param financeConsignPymtRecord 财务机票代收款记录
     * @return 结果
     */
    public int updateFinanceConsignPymtRecord(FinanceConsignPymtRecord financeConsignPymtRecord);

    /**
     * 批量删除财务机票代收款记录
     * 
     * @param consignPymtRecordIds 需要删除的财务机票代收款记录ID
     * @return 结果
     */
    public int deleteFinanceConsignPymtRecordByIds(Long[] consignPymtRecordIds);

    /**
     * 删除财务机票代收款记录信息
     * 
     * @param consignPymtRecordId 财务机票代收款记录ID
     * @return 结果
     */
    public int deleteFinanceConsignPymtRecordById(Long consignPymtRecordId);

    /**
     * 代收记录列表
     * */
    public TmpFlightOrderInfoVo flightOrderInfoList(FinanceConsignPymtRecordIdVo financeConsignPymtRecordIdVo);

    /**
     * 查询待修改的订单支付信息
     * */
    public UpdatePayTypeVo updatePayTypeVo(String orderNum) throws Exception;

    /**
     * 保存订单支付信息
     * */
    public int savePay(HttpServletRequest request, UpdatePayTypeVo updatePayTypeVo) throws Exception;

    /**
     * 追加备注
     * */
    public AppendRemarksVo appendRemarks(Long orderId, String remark) throws Exception;

    /**
     * 网络处理
     * */
    public String networkProcessing(HttpServletRequest request, UpdatePayTypeVo updatePayTypeVo) throws Exception;

    /**
     * 支付记录录入会员名称
     * */
    public RecordVo recordCustomerName(Long orderId) throws Exception;

    /**
     * 网络处理回显
     * */
    public UpdatePayTypeVo echo(Long orderId) throws Exception;
}
